#pragma once
namespace Level5
{
	class Class;
	class Variable
	{
	public:
		size_t address, size;
		bool isBuildInType : 1;
		bool known : 1;
		void* value;
		union
		{
			Class* type;
			enum class BuildInType : unsigned long long
			{
				SignedInteger8,
				SignedInteger16,
				SignedInteger32,
				SignedInteger64,
				UnsignedInteger8,
				UnsignedInteger16,
				UnsignedInteger32,
				UnsignedInteger64,
				Float4,
				Float8
			}buildInType;
		}type;
	};
}